package com.panshi.service;

import com.panshi.vo.FunctionVO;
import com.panshi.vo.KeyValueVO;
import com.panshi.vo.ResultVO;

import java.util.List;

public interface IFunctionService {
    /**
     * 查询所有菜单功能信息
     * @return
     */
    ResultVO<List<FunctionVO>> findFuncList();

    /**
     * 根据id查询指定菜单功能
     * @param id
     * @return
     */
    ResultVO<FunctionVO> getFunInfo(long id);

    /**
     * 修改菜单功能状态
     * @param id
     * @param status
     * @return
     */
    ResultVO<String> updateFunStatus(long id, int status);

    /**
     * 新增菜单功能信息
     * @param functionVO
     * @return
     */
    ResultVO<String> addFunInfo(FunctionVO functionVO);

    /**
     * 删除菜单功能信息
     * @param id
     * @return
     */
    ResultVO<String> delFunInfo(long id);

    /**
     * 修改菜单功能信息
     * @param functionVO
     * @return
     */
    ResultVO<String> editFunInfo(FunctionVO functionVO);

    /**
     * 初始化角色系统新增时的权限下拉框
     * @return
     */
    ResultVO<List<KeyValueVO>> initFunList();


    /**
     * 查询更改角色信息时选中的菜单功能
     * @param roleId
     * @return
     */
    ResultVO<List<KeyValueVO>> getRoleSelect(long roleId);
}
